#!/bin/bash

# 启动脚本 - 同时启动前端和后端服务

echo "🚀 启动Chat AI应用..."
echo ""

# 检查是否安装了依赖
check_dependencies() {
    if [ ! -d "node_modules" ]; then
        echo "📦 安装前端依赖..."
        pnpm install
    fi

    if [ ! -d "server/node_modules" ]; then
        echo "📦 安装后端依赖..."
        cd server
        npm install
        cd ..
    fi
}

# 启动后端服务
start_backend() {
    echo "🔧 启动后端代理服务..."
    cd server
    node xunfei-proxy.js &
    BACKEND_PID=$!
    cd ..
    echo "✅ 后端服务已启动 (PID: $BACKEND_PID)"
}

# 启动前端服务
start_frontend() {
    echo "🎨 启动前端服务..."
    pnpm dev &
    FRONTEND_PID=$!
    echo "✅ 前端服务已启动 (PID: $FRONTEND_PID)"
}

# 等待服务启动
wait_for_services() {
    echo ""
    echo "⏳ 等待服务完全启动..."
    sleep 3
    echo ""
    echo "🎉 所有服务已启动！"
    echo ""
    echo "📱 前端地址: http://localhost:8000"
    echo "🔌 后端代理: http://localhost:3003"
    echo "💬 聊天页面: http://localhost:8000/chat"
    echo ""
    echo "按 Ctrl+C 停止所有服务"
}

# 捕获退出信号
cleanup() {
    echo ""
    echo "🛑 正在停止所有服务..."
    kill $FRONTEND_PID 2>/dev/null
    kill $BACKEND_PID 2>/dev/null
    echo "👋 所有服务已停止"
    exit 0
}

trap cleanup INT

# 主流程
check_dependencies
start_backend
sleep 2  # 等待后端启动
start_frontend
wait_for_services

# 保持脚本运行
while true; do
    sleep 1
done
